#include "stm32f10x.h"

void delay_temp(unsigned int x)
{
   for(unsigned int i=0;i<x;i++)
   for(unsigned int j=0;j<x;j++)
   {
      ;
   }
}
int main(void)
{
    unsigned int *pReg; 
    /*****
    使能 PORTC  clock  ，RCC  ，
    RCC_Base = 0x40021000,
    
    PORTC RCC_APB2ENR     offset =0x18
    bit4: enable portc clock!     
    *****/

    pReg=(unsigned int *)(0x40021000+0x18);
    *pReg|=1<<2; 

   /********************************
    GPIOC_Base = 0x40011000 
    
    PC13 mode and cnf set !
    mode set 
    mode0[1:0]=
    00: input mode (reset state)
    
    01:output mode,max speed 10MHz.
    10: output mode,max speed 2MHz.
    11:output mode,max speed 50MHz.
      
    
    GPIOx_CRH,  offset = 0x04
    
    CNFy[1:0]=  00  push-pull output
                01    open-drain output
                            10  alternate function push-pull output
                            11  alternate function open-drain output
 *********************************/
     pReg = (unsigned int *)(0x40010800+0x00);
     *pReg|=(1<<0);   //set mode0[1:0]=01   
     *pReg&=~(3<<2);   // set cnf0[1:0]= 00
     
  /**************************************************************
    set output data register GPIOC_ODR
    GPIOC_Base = 0x40011000 
    offset:=0x0c
    
    bit0:= ODR0 
    bit0= 
    1: output high volt value =3.3v
    0: output low volt value =0.0v
    **********************************************/ 

   pReg = (unsigned int *)( 0x40010800 +0x0c);
   *pReg |= 1<<0; // 高电平 熄灭 pc13 灯。

   delay_temp(1000);
   *pReg &= ~(1<<0); // 点亮 pc13 灯。

   delay_temp(1000);

   *pReg |= 1<<0;// 高电平 熄灭 pc13 灯。
   
   delay_temp(1000);
   *pReg &=~(1<<0);// 点亮 pc13 灯。

   delay_temp(1000);
 
 while(1) 
{
   *pReg |= 1<<0; //设置 pc13
   delay_temp(1000);
   
   *pReg&=~(1<<0); //clear pc0

   delay_temp(1000);
}

}

void SystemInit(void)
{
    
}